import { _decorator, Component, Node, Label } from 'cc';
const { ccclass, property } = _decorator;

@ccclass('Results')
export class Results extends Component {
    @property({
        type: Label,
        tooltip: '当前得分Label'
    })
    public scoreLabel: Label;

    @property({
        type: Label,
        tooltip: '最高得分Label'
    })
    public highScoreLabel: Label;

    @property({
        type: Label,
        tooltip: '再来一次菜单Label'
    })
    public resultEnd: Label;

    maxScore: number = 0; // 最大得分
    currentScore: number = 0; // 当前得分

    // 更新得分
    updateScore(num: number) {
        this.currentScore = num;
        this.scoreLabel.string = this.currentScore.toString();
    }

    // 重置得分
    resetScore() {
        // 更新得分为0
        this.updateScore(0);
        // 隐藏结果
        this.hideResult();
    }

    addScore() {
        this.updateScore(this.currentScore + 1);
    }

    // 游戏结束 显示游戏结果
    showResult() {
        // 历史得分和当前得分取最大值为最高得分
        this.maxScore = Math.max(this.maxScore, this.currentScore);

        // 显示最高得分
        this.highScoreLabel.string = `最高得分:${this.maxScore}`;
        this.highScoreLabel.node.active = true;

        // 游戏菜单节点显示
        this.resultEnd.node.active = true;
    }

    // 游戏开始，隐藏游戏结果
    hideResult() {
        this.highScoreLabel.node.active = false;
        this.resultEnd.node.active = false;
    }
}
